#ifndef CNC_UI_VIRTUAL_KEYBOARD_H
#define CNC_UI_VIRTUAL_KEYBOARD_H

#include "kbdcmd.h"
#include <bcm/bcm.h>

namespace cnc {

	namespace ui {

		struct VirtualKeyboard : public bcm::Interface
		{
			virtual bool getCommand(cnc::comm::KbdCommand *kdbCmd) = 0;
			// setState returns true if the option can be set
			virtual bool setState(int category, int option) = 0;
			// getState returns -1 if the category and state pair can not be queried
			virtual int getState(int category, int option = -1) = 0;
		};

	} // namespace ui

} // namespace cnc

#endif
